const axios = require('axios')

const serviceApi = 'https://edu.dzyxzx.cn'
// 新闻列表
const informationPageList = '/api/information/pageList'
// 新闻详情
const getInformation = '/api/information/getInformation'

/**
 * 公共请求数据接口
 * @param {boolean} client 是否使用客户端路径请求 默认为服务端请求
 * @param {string} url 请求路径
 * @param {string} method 请求方式 默认POST
 * @param {object} headers 设置请求头
 * @param {function} receive 返回接收信息
 * @param {function} reject 返回拒绝信息
 */
function http(parame) {
  return new Promise((receive, reject) => {
    // 带入默认header
    if (parame.headers) {
      let contentType = parame.headers['content-type'];
      parame.headers['content-type'] = contentType ? contentType : 'application/x-www-form-urlencoded';
    }
    axios({
      ...parame,
      url: serviceApi + parame.url,
      method: parame.method || 'POST',
      headers: parame.headers || {
        'content-type': 'application/x-www-form-urlencoded'
      }
    }).then(res => {
      receive(res.data)
    }).catch(err => {
      reject(err)
    })
  })
}

// 新闻列表
function getNewsList(params) {
  return http({
    url: informationPageList,
    method: 'GET',
    params
  })
}

// 新闻详情
function getNewsInfo(params) {
  return http({
    url: getInformation,
    method: 'GET',
    params
  })
}

// 新闻类型
const newsType = [{
  id: 1,
  name: 'qyxw',
  title: '企业新闻',
  category: 'BYJX-QYXW'
}, {
  id: 2,
  name: 'hydt',
  title: '行业动态',
  category: 'BYJX-HYDT'
}]

module.exports = {
  http,
  newsType,
  getNewsList,
  getNewsInfo
}